
package kalkon;

import java.util.List;
import nu.xom.Document;

/**
 *
 * @author tommz tommz@gmail.com
 */
public interface InputModule {

    /**
     *  Retreives ids of all clubs managed by this module.
     *
     * @return List of Strings containing clubs' ids
     */
    List<String> getClubsIDs();

    /**
     * Returns DOM with information about certain club.
     * 
     * This DOM is in namespace http://code.google.com/p/kalkon/internalClubs
     * 
     * @param id id of the club to get info about
     * @return Document containing club info in the namespace specified above
     */
    Document getClubInfoByID(String id);

    /**
     * Returns document object model of events in certain club defined by
     * id.
     * 
     * This DOM is in namespace http://code.google.com/p/kalkon/internalConcerts
     * 
     * @param id id of the club whose events are to be served
     * @return Document containing club's events in the namespace specified above
     * @throws InputModuleException
     */
    Document getClubEventsByID(String id) throws InputModuleException;

}
